home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 38
/
Amiga Format CD38 (1999-03-15)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-04].iso
/
-seriously_amiga-
/
programming
/
other
/
wild
/
developer
/
examples
/
src
/
cynetik
/
cynetic3.s
< prev
next >
Wrap
Text File
|
1999-01-25
|
7KB
|
322 lines
output wildpj:demos/3d/cynetik/Cynetik_Texture
include exec/exec_lib.i
include wildinc.gs
include wild/wild.i
include wild/allmodules.i
include extensions/vektorial.i
include pypermacro.i
include wild/objects.i
Exec
lea.l wildname,a1
jsr _LVOOldOpenLibrary(a6)
move.l d0,_WILDBase
beq exit
bsr Go
exit Exec
movea.l _WILDBase,a1
move.l a1,d0
beq.b .nwi
.nwi jsr _LVOCloseLibrary(a6)
moveq.l #0,d0
rts
vektname dc.b 'libs:Wild/Vektorial.library',0
wildname dc.b 'wild.library',0
drawm dc.b 'Candy+',0
dispm dc.b 'TryPeJam+',0
brokm dc.b 'TiX+',0
lighm dc.b 'Koton',0
sincosname2 dc.b 'libs:'
sincosname1 dc.b 'wild/tables/sincos1616.table',0
TexName dc.b 'images/misc.chu24',0
cnop 0,4
_WILDBase dc.l 0
VektBase dc.l 0
WApp dc.l 0
AppTags dc.l WITD_Scene,TestScene
dc.l WIAP_DrawModule,drawm
dc.l WIAP_DisplayModule,dispm
dc.l WIAP_BrokerModule,brokm
dc.l WIAP_LightModule,lighm
dc.l WIDI_Width,320
dc.l WIDI_Height,256
dc.l WIDI_DisplayID,$21000
dc.l WITD_CutDistance,32000
dc.l 0
sincos dc.l 0
SinOffs dc.l 0
Go bsr SetUpWildApp
bsr SetUpExts
bsr SetUpScene
cycle Wild
move.l WApp,a0
Call InitFrame
move.l WApp,a0
Call RealyzeFrame
move.l WApp,a0
Call DisplayFrame
add.w #8,PUI
bmi.b .npuir
clr.w PUI
.npuir moveq.l #0,d0
move.b $dff007,d0
andi.w #63,d0
cmp.w #36,d0
bge.b .nadpui
move.w PUI,d1
sub.w d0,d1
cmp.w #-255,d1
bge.b .ntpui
move.w #-255,d1
.ntpui move.w d1,PUI
.nadpui
RotSecY MACRO ;\1=sec,angle EA
movea.l VektBase,a6
lea.l SECTOR_\1+ent_Ref+ref_I+Rel,a0
move.l \2,d0
moveq.l #vek_X,d1
moveq.l #vek_Z,d2
Call RotateDD
lea.l SECTOR_\1+ent_Ref+ref_K+Rel,a0
move.l \2,d0
moveq.l #vek_X,d1
moveq.l #vek_Z,d2
Call RotateDD
ENDM
RotSecY SkruBase,BaseRot
RotSecY SkruTreA,TreRot
RotSecY SkruTreB,TreRot
RotSecY SkruHeadA,HeadRot
RotSecY SkruHeadB,HeadRot
RotSecY SkruHeadC,HeadRot
RotSecY SkruHeadD,HeadRot
RotSecY SkruHeadE,HeadRot
RotSecY SkruHeadF,HeadRot
sub.l #10,MyCamera+ref_O+Abs+vek_Y
movea.l VektBase,a6
lea.l MyCamera,a0
lea.l SECTOR_SkruBase+ent_Ref+ref_O+Abs,a1
moveq.l #1,d0
CLA Call CamLookingAt
.pr btst #7,$bfe001
beq.b .pr
btst #6,$bfe001
bne cycle
bsr KillWildApp
bsr KillExts
rts
BaseRot dc.l 5
TreRot dc.l 1023-10
HeadRot dc.l 25
SetUpScene
Wild
TagStkGet
TagStk WIBU_BuildObject,#0
TagStk WIBU_ObjectType,#OBJECT_Texture
TagStk WIBU_ModifyObject,#TextTex
TagStk ATTR_TEXTURE_HOOK,#TexLoaderHook
TagStk ATTR_TEXTURE_WIDTH,#256
TagStk ATTR_TEXTURE_HEIGHT,#256
TagStk FRIEND_TEXTURE_WORLD,#TestWorld
TagStk WIBU_WildApp,WApp
TagStkAx a0
Call BuildWildObject
TagStkPop
rts
SetUpExts Wild
moveq.l #0,d0
lea.l vektname,a1
Call LoadExtension
move.l d0,VektBase
rts
KillExts Wild
movea.l VektBase,a1
Call KillExtension
rts
SetUpWildApp Exec
Call CreateMsgPort
tst.l d0
bne.b .msgok
rts
.msgok Wild
movea.l d0,a0
lea.l AppTags,a1
Call AddWildApp
move.l d0,WApp
lea.l sincosname1,a0
moveq.l #WITA_SINCOS1616,d0
Call LoadTable
move.l d0,sincos
bne.b .had
lea.l sincosname2,a0
moveq.l #WITA_SINCOS1616,d0
Call LoadTable
move.l d0,sincos
.had rts
KillWildApp Wild
move.l sincos,a1
move.l a1,d0
beq.b .nsc
Call KillTable
.nsc
move.l WApp,d0
bne.b .okwa
rts
.okwa movea.l d0,a0
move.l wap_WildPort(a0),d2
Call RemWildApp
Exec
move.l d2,a0
Call DeleteMsgPort
rts
pal incbin various1.pal
TestScene dc.l TestWorld
MyCamera
QuickRefAbs 0,0,-900
dc.l pal
* DefAbs 0,0,-100
* DefAbs 0,1<<16,0
* DefAbs 1<<16,0,0
* DefAbs 0,0,1<<16
TestWorld
twarhead dc.l TestArena
twartail dc.l 0
dc.l TestArena
dc.l TestPlayer
twtxhead dc.l twtxtail
twtxtail dc.l 0
dc.l twtxhead
TestPlayer dc.l 0 ; HAKK: no player, for now a sector is enough
TestArena dc.l twartail
dc.l twarhead
QuickRefRel 0,0,0
dc.l 0 ; Parent of arenas is UNIVERSE! ABSOLUTE=RELATIVE
dc.l 0
dc.w 0
tasehead dc.l SECTOR_SkruBase
tasetail dc.l 0
dc.l SECTOR_SkruHeadF
taalhead dc.l taaltail
taaltail dc.l 0
dc.l taalhead
talihead dc.l TestLight
talitail dc.l 0
dc.l TestLight
dcb Sphere_SIZE*3
dc.l 0
TestLight dc.l AmbLight,talihead
dc.l DOT_SkruBase11
dc.l $0055ff
dc.w 255
AmbLight dc.l talitail,TestLight
dc.l 0
dc.l $ffca22
dc.w -16
TextTex dc.l 0,0
dc.l 0
dc.l 0
dc.l 0,0,0,0,0
dc.l 0
dc.w 256,256
dc.b 0,0
TexLoaderHook dc.l 0,0,TexLoader,0,TexName
; a0:hook a1:action a2:texture *
TexLoader move.l a6,-(a7)
Wild
move.l a1,d0
cmp.l #TEXACTION_Load,d0
beq.b .load
movea.l tex_Raw(a2),a1
Call FreeVecPooled
bra.b .done
.load moveq.l #0,d0
move.l 16(a0),d1
suba.l a0,a0
Call LoadFile
move.l d0,tex_Raw(a2)
.done movea.l (a7)+,a6
rts
TEXTURE_SkruBase0 EQU TextTex
TEXTURE_SkruTreA0 EQU TextTex
TEXTURE_SkruTreB0 EQU TextTex
TEXTURE_SkruHeadA0 EQU TextTex
TEXTURE_SkruHeadB0 EQU TextTex
TEXTURE_SkruHeadC0 EQU TextTex
TEXTURE_SkruHeadD0 EQU TextTex
TEXTURE_SkruHeadE0 EQU TextTex
TEXTURE_SkruHeadF0 EQU TextTex
PUI dc.w -16
MakeSector SkruBase,WildPJ:Support/TestSectors/Cynematic/Skrumpler/SkruBase.sec.s
MakeSector SkruTreA,WildPJ:Support/TestSectors/Cynematic/Skrumpler/SkruTreA.sec.s
MakeSector SkruTreB,WildPJ:Support/TestSectors/Cynematic/Skrumpler/SkruTreB.sec.s
MakeSector SkruHeadA,WildPJ:Support/TestSectors/Cynematic/Skrumpler/SkruHeadA.sec.s
MakeSector SkruHeadB,WildPJ:Support/TestSectors/Cynematic/Skrumpler/SkruHeadB.sec.s
MakeSector SkruHeadC,WildPJ:Support/TestSectors/Cynematic/Skrumpler/SkruHeadC.sec.s
MakeSector SkruHeadD,WildPJ:Support/TestSectors/Cynematic/Skrumpler/SkruHeadD.sec.s
MakeSector SkruHeadE,WildPJ:Support/TestSectors/Cynematic/Skrumpler/SkruHeadE.sec.s
MakeSector SkruHeadF,WildPJ:Support/TestSectors/Cynematic/Skrumpler/SkruHeadF.sec.s
LinkSector SkruBase,SECTOR_SkruTreA,tasehead,TestArena
LinkSector SkruTreA,SECTOR_SkruTreB,SECTOR_SkruBase,SECTOR_SkruBase
LinkSector SkruTreB,SECTOR_SkruHeadA,SECTOR_SkruTreA,SECTOR_SkruBase
LinkSector SkruHeadA,SECTOR_SkruHeadB,SECTOR_SkruTreB,SECTOR_SkruTreA
LinkSector SkruHeadB,SECTOR_SkruHeadC,SECTOR_SkruHeadA,SECTOR_SkruTreA
LinkSector SkruHeadC,SECTOR_SkruHeadD,SECTOR_SkruHeadB,SECTOR_SkruTreA
LinkSector SkruHeadD,SECTOR_SkruHeadE,SECTOR_SkruHeadC,SECTOR_SkruTreB
LinkSector SkruHeadE,SECTOR_SkruHeadF,SECTOR_SkruHeadD,SECTOR_SkruTreB
LinkSector SkruHeadF,tasetail,SECTOR_SkruHeadE,SECTOR_SkruTreB
PosSector SkruBase,0,0,0
PosSector SkruTreA,220,-202,93
PosSector SkruTreB,-220,-202,-93
PosSector SkruHeadA,0,62,186
PosSector SkruHeadB,140,62,-93
PosSector SkruHeadC,-160,62,-93
PosSector SkruHeadD,0,62,186
PosSector SkruHeadE,140,62,-93
PosSector SkruHeadF,-160,62,-93